////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//   Software       :                                                         //
//   Layer          : SRC                                                     //
//   Package        :                                                         //
//   Component      :                                                         //
//                                                                            //
//   File           : Usuario.h                                               //
//   Author         : RSO ( Rafael Sotomayor Brûlé )                          //
//   EMail          : rsotomayor@savtec.cl                                    //
//   Type           : C++ Source                                              //
//   Usage          :                                                         //
//   Purpose        : gestión de usuario                                      //
//                                                                            //
//                                                                            //
//   who when        what                                                     //
//   ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
//   RSO 09-10-2010  Creation                                                 //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////


#ifndef __MYERVER_H__
#define __MYERVER_H__

#include "myconfig.h"


#define RCVBUFSIZE 2048   /* Size of receive buffer */

class MyServer {
public:
  MyServer(int socket_p);
  ~MyServer();
  void            startTareas() ;  
  static void *   listenTask(void *p);
protected:
private:
  int socket_a;
  static  MyServer* pMyServer_a;  
  int     CreateTCPServerSocket(unsigned short port);  
  int     AcceptTCPConnection(int servSock);    
  void    DieWithError(char *errorMessage);  
  void    MyHandleTCPClient(int clntSocket);
  int     parseBuffer ( char *buffer_p,int size_p,string &transaccion_p ) ;
  int     procesaTransaccion(string transaccion_p,string &message_p);
  static void *ThreadMain(void *threadArgs);  
} ;

#endif
